package com.micro.school.order.service;

import java.util.List;
import com.micro.school.order.domain.PayStudentFeePaymentDetail;
import com.micro.school.system.api.domain.vo.PayStudentFeePaymentDetailVos;

/**
 * 支付单明细Service接口
 * 
 * @author lyb
 * @date 2025-08-19
 */
public interface IPayStudentFeePaymentDetailService 
{
    /**
     * 查询支付单明细
     * 
     * @param id 支付单明细主键
     * @return 支付单明细
     */
    public PayStudentFeePaymentDetail selectPayStudentFeePaymentDetailById(Integer id);

    /**
     * 查询支付单明细列表
     * 
     * @param payStudentFeePaymentDetail 支付单明细
     * @return 支付单明细集合
     */
    public List<PayStudentFeePaymentDetail> selectPayStudentFeePaymentDetailList(PayStudentFeePaymentDetail payStudentFeePaymentDetail);

    /**
     * 新增支付单明细
     * 
     * @param payStudentFeePaymentDetail 支付单明细
     * @return 结果
     */
    public int insertPayStudentFeePaymentDetail(PayStudentFeePaymentDetail payStudentFeePaymentDetail);

    /**
     * 修改支付单明细
     * 
     * @param payStudentFeePaymentDetail 支付单明细
     * @return 结果
     */
    public int updatePayStudentFeePaymentDetail(PayStudentFeePaymentDetail payStudentFeePaymentDetail);

    /**
     * 批量删除支付单明细
     * 
     * @param ids 需要删除的支付单明细主键集合
     * @return 结果
     */
    public int deletePayStudentFeePaymentDetailByIds(Integer[] ids);

    /**
     * 删除支付单明细信息
     * 
     * @param id 支付单明细主键
     * @return 结果
     */
    public int deletePayStudentFeePaymentDetailById(Integer id);

    /**
     * 查询支付单明细
     *
     * @param studentFeeItemId 支付单明细主键
     * @return 支付单明细
     */
    public List<PayStudentFeePaymentDetail> selectPayStudentFeePaymentDetailByStudentFeeItemId(Integer studentFeeItemId);

    /**
     * 支付明细
     */
    List<PayStudentFeePaymentDetail> selectPayStudentFeePaymentDetailByPaymentId(Integer paymentId);

    int insertPayStudentFeePaymentDetailVos(PayStudentFeePaymentDetailVos payStudentFeePaymentDetail);
}
